package com.gitee.qdbp.general.trade.api.personal.model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.gitee.qdbp.base.enums.Gender;

/**
 * 用户地址查询类
 *
 * @author zhh
 * @version 180716
 */
public class PersonalAddressWhere extends PersonalAddressBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 主键列表 **/
    private List<String> ids;

    /** 主键前模匹配条件 **/
    private String idStarts;

    /** 主键后模匹配条件 **/
    private String idEnds;

    /** 主键模糊查询条件 **/
    private String idLike;

    /** 用户ID空值/非空值查询 **/
    private Boolean userIdIsNull;

    /** 用户ID前模匹配条件 **/
    private String userIdStarts;

    /** 用户ID后模匹配条件 **/
    private String userIdEnds;

    /** 用户ID模糊查询条件 **/
    private String userIdLike;

    /** 标签: 如家,公司等空值/非空值查询 **/
    private Boolean tagNameIsNull;

    /** 标签: 如家,公司等前模匹配条件 **/
    private String tagNameStarts;

    /** 标签: 如家,公司等后模匹配条件 **/
    private String tagNameEnds;

    /** 标签: 如家,公司等模糊查询条件 **/
    private String tagNameLike;

    /** 联系人姓名空值/非空值查询 **/
    private Boolean contactNameIsNull;

    /** 联系人姓名前模匹配条件 **/
    private String contactNameStarts;

    /** 联系人姓名后模匹配条件 **/
    private String contactNameEnds;

    /** 联系人姓名模糊查询条件 **/
    private String contactNameLike;

    /** 性别(0.未知|1.男|2.女)空值/非空值查询 **/
    private Boolean contactGenderIsNull;

    /** 性别(0.未知|1.男|2.女)列表 **/
    private List<Gender> contactGenders;

    /** 联系人电话空值/非空值查询 **/
    private Boolean contactPhoneIsNull;

    /** 联系人电话前模匹配条件 **/
    private String contactPhoneStarts;

    /** 联系人电话后模匹配条件 **/
    private String contactPhoneEnds;

    /** 联系人电话模糊查询条件 **/
    private String contactPhoneLike;

    /** 地区编号(关联行政区划表)空值/非空值查询 **/
    private Boolean areaCodeIsNull;

    /** 地区编号(关联行政区划表)前模匹配条件 **/
    private String areaCodeStarts;

    /** 地区编号(关联行政区划表)后模匹配条件 **/
    private String areaCodeEnds;

    /** 地区编号(关联行政区划表)模糊查询条件 **/
    private String areaCodeLike;

    /** 地区名称(由于地区编号经常会变, 需要保存地区名称)空值/非空值查询 **/
    private Boolean areaTextIsNull;

    /** 地区名称(由于地区编号经常会变, 需要保存地区名称)前模匹配条件 **/
    private String areaTextStarts;

    /** 地区名称(由于地区编号经常会变, 需要保存地区名称)后模匹配条件 **/
    private String areaTextEnds;

    /** 地区名称(由于地区编号经常会变, 需要保存地区名称)模糊查询条件 **/
    private String areaTextLike;

    /** 乡镇或街道名称空值/非空值查询 **/
    private Boolean townshipIsNull;

    /** 乡镇或街道名称前模匹配条件 **/
    private String townshipStarts;

    /** 乡镇或街道名称后模匹配条件 **/
    private String townshipEnds;

    /** 乡镇或街道名称模糊查询条件 **/
    private String townshipLike;

    /** 详细地址空值/非空值查询 **/
    private Boolean addressIsNull;

    /** 详细地址前模匹配条件 **/
    private String addressStarts;

    /** 详细地址后模匹配条件 **/
    private String addressEnds;

    /** 详细地址模糊查询条件 **/
    private String addressLike;

    /** 排序值(0为默认地址)空值/非空值查询 **/
    private Boolean sortIndexIsNull;

    /** 最小排序值(0为默认地址) **/
    private Integer sortIndexMin;

    /** 最大排序值(0为默认地址) **/
    private Integer sortIndexMax;

    /** 获取主键列表 **/
    public List<String> getIds() {
        return ids;
    }

    /** 设置主键列表 **/
    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    /** 增加主键 **/
    public void addId(String... ids) {
        if (this.ids == null) {
            this.ids = new ArrayList<>();
        }
        this.ids.addAll(Arrays.asList(ids));
    }

    /** 获取主键前模匹配条件 **/
    public String getIdStarts() {
        return idStarts;
    }

    /** 设置主键前模匹配条件 **/
    public void setIdStarts(String idStarts) {
        this.idStarts = idStarts;
    }

    /** 获取主键后模匹配条件 **/
    public String getIdEnds() {
        return idEnds;
    }

    /** 设置主键后模匹配条件 **/
    public void setIdEnds(String idEnds) {
        this.idEnds = idEnds;
    }

    /** 获取主键模糊查询条件 **/
    public String getIdLike() {
        return idLike;
    }

    /** 设置主键模糊查询条件 **/
    public void setIdLike(String idLike) {
        this.idLike = idLike;
    }

    /** 判断用户ID是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getUserIdIsNull() {
        return userIdIsNull;
    }

    /**
     * 设置用户ID空值查询(true:空值查询|false:非空值查询)
     *
     * @param userIdIsNull 用户ID空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setUserIdIsNull(Boolean userIdIsNull) {
        this.userIdIsNull = userIdIsNull;
    }

    /** 获取用户ID前模匹配条件 **/
    public String getUserIdStarts() {
        return userIdStarts;
    }

    /** 设置用户ID前模匹配条件 **/
    public void setUserIdStarts(String userIdStarts) {
        this.userIdStarts = userIdStarts;
    }

    /** 获取用户ID后模匹配条件 **/
    public String getUserIdEnds() {
        return userIdEnds;
    }

    /** 设置用户ID后模匹配条件 **/
    public void setUserIdEnds(String userIdEnds) {
        this.userIdEnds = userIdEnds;
    }

    /** 获取用户ID模糊查询条件 **/
    public String getUserIdLike() {
        return userIdLike;
    }

    /** 设置用户ID模糊查询条件 **/
    public void setUserIdLike(String userIdLike) {
        this.userIdLike = userIdLike;
    }

    /** 判断标签: 如家,公司等是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getTagNameIsNull() {
        return tagNameIsNull;
    }

    /** 设置标签: 如家,公司等空值查询(true:空值查询|false:非空值查询) **/
    public void setTagNameIsNull(Boolean tagNameIsNull) {
        this.tagNameIsNull = tagNameIsNull;
    }

    /** 获取标签: 如家,公司等前模匹配条件 **/
    public String getTagNameStarts() {
        return tagNameStarts;
    }

    /** 设置标签: 如家,公司等前模匹配条件 **/
    public void setTagNameStarts(String tagNameStarts) {
        this.tagNameStarts = tagNameStarts;
    }

    /** 获取标签: 如家,公司等后模匹配条件 **/
    public String getTagNameEnds() {
        return tagNameEnds;
    }

    /** 设置标签: 如家,公司等后模匹配条件 **/
    public void setTagNameEnds(String tagNameEnds) {
        this.tagNameEnds = tagNameEnds;
    }

    /** 获取标签: 如家,公司等模糊查询条件 **/
    public String getTagNameLike() {
        return tagNameLike;
    }

    /** 设置标签: 如家,公司等模糊查询条件 **/
    public void setTagNameLike(String tagNameLike) {
        this.tagNameLike = tagNameLike;
    }

    /** 判断联系人姓名是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getContactNameIsNull() {
        return contactNameIsNull;
    }

    /** 设置联系人姓名空值查询(true:空值查询|false:非空值查询) **/
    public void setContactNameIsNull(Boolean contactNameIsNull) {
        this.contactNameIsNull = contactNameIsNull;
    }

    /** 获取联系人姓名前模匹配条件 **/
    public String getContactNameStarts() {
        return contactNameStarts;
    }

    /** 设置联系人姓名前模匹配条件 **/
    public void setContactNameStarts(String contactNameStarts) {
        this.contactNameStarts = contactNameStarts;
    }

    /** 获取联系人姓名后模匹配条件 **/
    public String getContactNameEnds() {
        return contactNameEnds;
    }

    /** 设置联系人姓名后模匹配条件 **/
    public void setContactNameEnds(String contactNameEnds) {
        this.contactNameEnds = contactNameEnds;
    }

    /** 获取联系人姓名模糊查询条件 **/
    public String getContactNameLike() {
        return contactNameLike;
    }

    /** 设置联系人姓名模糊查询条件 **/
    public void setContactNameLike(String contactNameLike) {
        this.contactNameLike = contactNameLike;
    }

    /** 判断性别(0.未知|1.男|2.女)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getContactGenderIsNull() {
        return contactGenderIsNull;
    }

    /**
     * 设置性别(0.未知|1.男|2.女)空值查询(true:空值查询|false:非空值查询)
     *
     * @param contactGenderIsNull 性别(0.未知|1.男|2.女)空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setContactGenderIsNull(Boolean contactGenderIsNull) {
        this.contactGenderIsNull = contactGenderIsNull;
    }

    /** 获取性别(0.未知|1.男|2.女)列表 **/
    public List<Gender> getContactGenders() {
        return contactGenders;
    }

    /** 设置性别(0.未知|1.男|2.女)列表 **/
    public void setContactGenders(List<Gender> contactGenders) {
        this.contactGenders = contactGenders;
    }

    /** 增加性别(0.未知|1.男|2.女) **/
    public void addContactGender(Gender... contactGenders) {
        if (this.contactGenders == null) {
            this.contactGenders = new ArrayList<>();
        }
        this.contactGenders.addAll(Arrays.asList(contactGenders));
    }

    /** 判断联系人电话是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getContactPhoneIsNull() {
        return contactPhoneIsNull;
    }

    /** 设置联系人电话空值查询(true:空值查询|false:非空值查询) **/
    public void setContactPhoneIsNull(Boolean contactPhoneIsNull) {
        this.contactPhoneIsNull = contactPhoneIsNull;
    }

    /** 获取联系人电话前模匹配条件 **/
    public String getContactPhoneStarts() {
        return contactPhoneStarts;
    }

    /** 设置联系人电话前模匹配条件 **/
    public void setContactPhoneStarts(String contactPhoneStarts) {
        this.contactPhoneStarts = contactPhoneStarts;
    }

    /** 获取联系人电话后模匹配条件 **/
    public String getContactPhoneEnds() {
        return contactPhoneEnds;
    }

    /** 设置联系人电话后模匹配条件 **/
    public void setContactPhoneEnds(String contactPhoneEnds) {
        this.contactPhoneEnds = contactPhoneEnds;
    }

    /** 获取联系人电话模糊查询条件 **/
    public String getContactPhoneLike() {
        return contactPhoneLike;
    }

    /** 设置联系人电话模糊查询条件 **/
    public void setContactPhoneLike(String contactPhoneLike) {
        this.contactPhoneLike = contactPhoneLike;
    }

    /** 判断地区编号(关联行政区划表)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getAreaCodeIsNull() {
        return areaCodeIsNull;
    }

    /** 设置地区编号(关联行政区划表)空值查询(true:空值查询|false:非空值查询) **/
    public void setAreaCodeIsNull(Boolean areaCodeIsNull) {
        this.areaCodeIsNull = areaCodeIsNull;
    }

    /** 获取地区编号(关联行政区划表)前模匹配条件 **/
    public String getAreaCodeStarts() {
        return areaCodeStarts;
    }

    /** 设置地区编号(关联行政区划表)前模匹配条件 **/
    public void setAreaCodeStarts(String areaCodeStarts) {
        this.areaCodeStarts = areaCodeStarts;
    }

    /** 获取地区编号(关联行政区划表)后模匹配条件 **/
    public String getAreaCodeEnds() {
        return areaCodeEnds;
    }

    /** 设置地区编号(关联行政区划表)后模匹配条件 **/
    public void setAreaCodeEnds(String areaCodeEnds) {
        this.areaCodeEnds = areaCodeEnds;
    }

    /** 获取地区编号(关联行政区划表)模糊查询条件 **/
    public String getAreaCodeLike() {
        return areaCodeLike;
    }

    /** 设置地区编号(关联行政区划表)模糊查询条件 **/
    public void setAreaCodeLike(String areaCodeLike) {
        this.areaCodeLike = areaCodeLike;
    }

    /** 判断地区名称(由于地区编号经常会变, 需要保存地区名称)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getAreaTextIsNull() {
        return areaTextIsNull;
    }

    /** 设置地区名称(由于地区编号经常会变, 需要保存地区名称)空值查询(true:空值查询|false:非空值查询) **/
    public void setAreaTextIsNull(Boolean areaTextIsNull) {
        this.areaTextIsNull = areaTextIsNull;
    }

    /** 获取地区名称(由于地区编号经常会变, 需要保存地区名称)前模匹配条件 **/
    public String getAreaTextStarts() {
        return areaTextStarts;
    }

    /** 设置地区名称(由于地区编号经常会变, 需要保存地区名称)前模匹配条件 **/
    public void setAreaTextStarts(String areaTextStarts) {
        this.areaTextStarts = areaTextStarts;
    }

    /** 获取地区名称(由于地区编号经常会变, 需要保存地区名称)后模匹配条件 **/
    public String getAreaTextEnds() {
        return areaTextEnds;
    }

    /** 设置地区名称(由于地区编号经常会变, 需要保存地区名称)后模匹配条件 **/
    public void setAreaTextEnds(String areaTextEnds) {
        this.areaTextEnds = areaTextEnds;
    }

    /** 获取地区名称(由于地区编号经常会变, 需要保存地区名称)模糊查询条件 **/
    public String getAreaTextLike() {
        return areaTextLike;
    }

    /** 设置地区名称(由于地区编号经常会变, 需要保存地区名称)模糊查询条件 **/
    public void setAreaTextLike(String areaTextLike) {
        this.areaTextLike = areaTextLike;
    }

    /** 判断乡镇或街道名称是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getTownshipIsNull() {
        return townshipIsNull;
    }

    /** 设置乡镇或街道名称空值查询(true:空值查询|false:非空值查询) **/
    public void setTownshipIsNull(Boolean townshipIsNull) {
        this.townshipIsNull = townshipIsNull;
    }

    /** 获取乡镇或街道名称前模匹配条件 **/
    public String getTownshipStarts() {
        return townshipStarts;
    }

    /** 设置乡镇或街道名称前模匹配条件 **/
    public void setTownshipStarts(String townshipStarts) {
        this.townshipStarts = townshipStarts;
    }

    /** 获取乡镇或街道名称后模匹配条件 **/
    public String getTownshipEnds() {
        return townshipEnds;
    }

    /** 设置乡镇或街道名称后模匹配条件 **/
    public void setTownshipEnds(String townshipEnds) {
        this.townshipEnds = townshipEnds;
    }

    /** 获取乡镇或街道名称模糊查询条件 **/
    public String getTownshipLike() {
        return townshipLike;
    }

    /** 设置乡镇或街道名称模糊查询条件 **/
    public void setTownshipLike(String townshipLike) {
        this.townshipLike = townshipLike;
    }

    /** 判断详细地址是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getAddressIsNull() {
        return addressIsNull;
    }

    /** 设置详细地址空值查询(true:空值查询|false:非空值查询) **/
    public void setAddressIsNull(Boolean addressIsNull) {
        this.addressIsNull = addressIsNull;
    }

    /** 获取详细地址前模匹配条件 **/
    public String getAddressStarts() {
        return addressStarts;
    }

    /** 设置详细地址前模匹配条件 **/
    public void setAddressStarts(String addressStarts) {
        this.addressStarts = addressStarts;
    }

    /** 获取详细地址后模匹配条件 **/
    public String getAddressEnds() {
        return addressEnds;
    }

    /** 设置详细地址后模匹配条件 **/
    public void setAddressEnds(String addressEnds) {
        this.addressEnds = addressEnds;
    }

    /** 获取详细地址模糊查询条件 **/
    public String getAddressLike() {
        return addressLike;
    }

    /** 设置详细地址模糊查询条件 **/
    public void setAddressLike(String addressLike) {
        this.addressLike = addressLike;
    }

    /** 判断排序值(0为默认地址)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getSortIndexIsNull() {
        return sortIndexIsNull;
    }

    /**
     * 设置排序值(0为默认地址)空值查询(true:空值查询|false:非空值查询)
     *
     * @param sortIndexIsNull 排序值(0为默认地址)空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSortIndexIsNull(Boolean sortIndexIsNull) {
        this.sortIndexIsNull = sortIndexIsNull;
    }

    /** 获取最小排序值(0为默认地址) **/
    public Integer getSortIndexMin() {
        return sortIndexMin;
    }

    /** 设置最小排序值(0为默认地址) **/
    public void setSortIndexMin(Integer sortIndexMin) {
        this.sortIndexMin = sortIndexMin;
    }

    /** 获取最大排序值(0为默认地址) **/
    public Integer getSortIndexMax() {
        return sortIndexMax;
    }

    /** 设置最大排序值(0为默认地址) **/
    public void setSortIndexMax(Integer sortIndexMax) {
        this.sortIndexMax = sortIndexMax;
    }

}